This page last changed on Apr 03, 2009 by mpb6001.
Varchar Tests
Note: These character tests are not always just the character themselves but various combinations of strings involving them.
Confluence escapes HTML entities so the entity name is what is placed where necessary (i.e. quot).
Interface |
XML |
Oracle DB |
MySQL DB |
Oracle Pass/Fail |
MySQL Pass/Fail |
Notes |
" |
quot |
" |
" |
Pass
|
Pass
|
|
' |
apos |
' |
' |
Pass
|
Pass
|
|
< |
lt |
< |
< |
Pass
|
Pass
|
|
> |
gt |
> |
> |
Pass
|
Pass
|
|
& |
amp |
& |
& |
Pass
|
Pass
|
|
" " |
" " |
" " |
" " |
Pass
|
Pass
|
|
¡ |
¡ |
¡ |
¡ |
Pass
|
Pass
|
|
¢ |
¢ |
¢ |
¢ |
Pass
|
Pass
|
|
£ |
£ |
£ |
£ |
Pass
|
Pass
|
|
¥ |
¥ |
¥ |
¥ |
Pass
|
Pass
|
|
¦ |
¦ |
¦ |
¦ |
Pass
|
Pass
|
|
§ |
§ |
§ |
§ |
Pass
|
Pass
|
|
¨ |
¨ |
¨ |
¨ |
Pass
|
Pass
|
|
© |
© |
© |
© |
Pass
|
Pass
|
|
« |
« |
« |
« |
Pass
|
Pass
|
|
® |
® |
® |
® |
Pass
|
Pass
|
|
¯ |
¯ |
¯ |
¯ |
Pass
|
Pass
|
|
° |
° |
° |
° |
Pass
|
Pass
|
|
± |
± |
± |
± |
Pass
|
Pass
|
|
´ |
´ |
´ |
´ |
Pass
|
Pass
|
|
µ |
µ |
µ |
µ |
Pass
|
Pass
|
|
¶ |
¶ |
¶ |
¶ |
Pass
|
Pass
|
|
» |
» |
» |
» |
Pass
|
Pass
|
|
¿ |
¿ |
¿ |
¿ |
Pass
|
Pass
|
|
× |
× |
× |
× |
Pass
|
Pass
|
|
÷ |
÷ |
÷ |
÷ |
Pass
|
Pass
|
|
™ |
™ |
™ |
™ |
Pass
|
Pass
|
|
Ø |
Ø |
Ø |
Ø |
Pass
|
Pass
|
|
? |
? |
? |
? |
Pass
|
Pass
|
|
~ |
~ |
~ |
~ |
Pass
|
Pass
|
|
˜ |
˜ |
˜ |
˜ |
Pass
|
Pass
|
|
= |
= |
= |
= |
Pass
|
Pass
|
|
- |
- |
- |
- |
Pass
|
Pass
|
|
Overflow strings |
"overflow string" |
limited to metadata precision |
limited to metadata precision |
Pass
|
Pass
|
input larger than varchar precision is not allowed |
Multi-word strings |
"This is a multi word test string" |
"This is a multi word test string" |
"This is a multi word test string" |
Pass
|
Pass
|
|
Attempt newline, tabs, |
"This \r \t \n is a multi word test string" |
"This \r \t \n is a multi word test string" |
"This \r \t \n is a multi word test string" |
Pass
|
Pass
|
|
Numbers as a string |
"1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1" |
"1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1" |
"1 2 3 4 5 6 7 8 9 10 -9 -8 -7 -6 -5 -4 -3 -2 -1" |
Pass
|
Pass
|
|
Numbers in a string |
"Hello my 8 is named after 5" |
"Hello my 8 is named after 5" |
"Hello my 8 is named after 5" |
Pass
|
Pass
|
|
Equations |
"3 * 8 + 5 - 4 =" |
"3 * 8 + 5 - 4 =" |
"3 * 8 + 5 - 4 =" |
Pass
|
Pass
|
|
Empty string (null) |
null |
unchanged |
unchanged |
Fail
|
Fail
|
readXML : null |
Crazy Strings |
<%>>$@!|{}+_"/ |
<%>>$@!|{}+_"/ |
<%>>$@!|{}+_"/ |
Pass
|
Pass
|
|
Crazy Strings |
quotquotquotquotquotquotquotquotquotquot |
"""""""""" |
"""""""""" |
Pass
|
Pass
|
|
String of max length (as described in DB) |
tententent |
tententent |
tententent |
Pass
|
Pass
|
|
Keyboard Characters |
`~!@#$%^amp*()_-+=closeopen[]bar\:;quotapos?/gt.lt, |
expected (wiki thinks the output is a macro) |
expected (wiki thinks the output is a macro) |
Pass
|
Pass
|
|
Leading spaces |
" before" |
maintains spaces |
maintains spaces |
Pass
|
Pass
|
|
Trailing spaces |
"after " |
maintains spaces |
maintains spaces |
Pass
|
Pass
|
|
Spaces within |
" inside " |
maintains spaces |
maintains spaces |
Pass
|
Pass
|
|
Number Tests
Note: May need to adjust tests for precision and scale and also consider whether they are input errors or something that the DB will reject.
Interface |
XML |
Oracle DB |
MySQL DB |
Oracle Pass/Fail |
MySQL Pass/Fail |
Notes |
null |
null value |
unchanged |
unchanged |
Fail
|
Fail
|
readXML : null |
0 |
0 |
0 |
0 (filled out to precision of datatype) |
Pass*
|
Pass*
|
Get rid of 0E-10 when displaying? |
Small integers |
integers of appropriate precision |
expected |
expected |
Pass
|
Pass
|
|
Large integers |
integers of appropriate precision |
expected |
expected |
Pass
|
Pass
|
|
Decimal in integer field |
various decimals in integer fields |
Rounded decimal |
unchanged |
Pass*
|
Fail
|
Oracle ->
MySQL -> readXML : For input string: "1.5" |
Integer in decimal field |
various integers in decimal fields |
the integer |
the integer |
Pass
|
Pass
|
|
Small decimals |
integers of appropriate precision and scale |
expected |
expected |
Pass
|
Pass
|
|
Medium decimals |
integers of appropriate precision and scale |
expected |
expected |
Pass
|
Pass
|
|
Large decimals |
integers of appropriate precision and scale |
expected |
expected |
Pass
|
Pass
|
|
Signed integers (various sizes) |
-[valid number] |
expected |
expected |
Pass
|
Pass
|
|
Signed decimals (various sizes) |
-[valid number] |
expected |
expected |
Pass
|
Pass
|
|
Overflow |
Larger than datatype size |
unchanged |
unchanged |
Pass
|
Pass
|
|
Strings (shouldn't even be able to enter these) |
1234B, B2345, etc... |
unchanged |
unchanged |
Pass
|
Pass
|
|
Special characters |
12~12, !2345, etc... |
unchanged |
unchanged |
Pass
|
Pass
|
|
Invalid scale |
large scales |
rounded input to proper scale |
rounded input to proper scale |
Pass
|
Pass
|
This works unless the rounding forces the number to an invalid precision (i.e. 999.999 will round to 1000 and with a number(5,2) it overflow and cause a DB exception). |
Date Tests
Note: These may become entirely obsolete through forcing input through a widget
Interface |
XML |
Oracle DB |
MySQL DB |
Oracle Pass/Fail |
MySQL Pass/Fail |
Notes |
Epoc |
|
|
|
|
|
|
M/D/Y |
|
|
|
|
|
|
M/D/Y/H/S |
|
|
|
|
|
|
Different dates (java, mysql) |
|
|
|
|
|
|
|